[INFO] cloning repository https://github.com/ncsurobotics/SW8S-Rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ncsurobotics/SW8S-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e89f7fe0355cc04d1231d4fa845c472ca7697d0
[INFO] checking ncsurobotics/SW8S-Rust against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fncsurobotics%2FSW8S-Rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  57% (584/1016)
Updating files:  58% (590/1016)
Updating files:  59% (600/1016)
Updating files:  60% (610/1016)
Updating files:  61% (620/1016)
Updating files:  62% (630/1016)
Updating files:  63% (641/1016)
Updating files:  64% (651/1016)
Updating files:  65% (661/1016)
Updating files:  66% (671/1016)
Updating files:  67% (681/1016)
Updating files:  68% (691/1016)
Updating files:  69% (702/1016)
Updating files:  70% (712/1016)
Updating files:  71% (722/1016)
Updating files:  72% (732/1016)
Updating files:  73% (742/1016)
Updating files:  74% (752/1016)
Updating files:  75% (762/1016)
Updating files:  76% (773/1016)
Updating files:  77% (783/1016)
Updating files:  78% (793/1016)
Updating files:  79% (803/1016)
Updating files:  80% (813/1016)
Updating files:  81% (823/1016)
Updating files:  82% (834/1016)
Updating files:  83% (844/1016)
Updating files:  84% (854/1016)
Updating files:  85% (864/1016)
Updating files:  86% (874/1016)
Updating files:  87% (884/1016)
Updating files:  88% (895/1016)
Updating files:  89% (905/1016)
Updating files:  90% (915/1016)
Updating files:  91% (925/1016)
Updating files:  92% (935/1016)
Updating files:  93% (945/1016)
Updating files:  94% (956/1016)
Updating files:  95% (966/1016)
Updating files:  96% (976/1016)
Updating files:  97% (986/1016)
Updating files:  98% (996/1016)
Updating files:  99% (1006/1016)
Updating files: 100% (1016/1016)
Updating files: 100% (1016/1016), done.
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/ncsurobotics/SW8S-Rust
[INFO] finished tweaking git repo https://github.com/ncsurobotics/SW8S-Rust
[INFO] tweaked toml for git repo https://github.com/ncsurobotics/SW8S-Rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ncsurobotics/SW8S-Rust on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ncsurobotics/SW8S-Rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d0273620964f3c072ff35ab7e72466ce04766149fb1def64fac46749476be580
[INFO] running `Command { std: "docker" "start" "-a" "d0273620964f3c072ff35ab7e72466ce04766149fb1def64fac46749476be580", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d0273620964f3c072ff35ab7e72466ce04766149fb1def64fac46749476be580", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0273620964f3c072ff35ab7e72466ce04766149fb1def64fac46749476be580", kill_on_drop: false }`
[INFO] [stdout] d0273620964f3c072ff35ab7e72466ce04766149fb1def64fac46749476be580
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c9463963cd2abc9644d36fa6be131b7937b6eb41794c75bd98a79bcaf172df8
[INFO] running `Command { std: "docker" "start" "-a" "0c9463963cd2abc9644d36fa6be131b7937b6eb41794c75bd98a79bcaf172df8", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling semver v1.0.25
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling clang v2.0.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling cc v1.2.13
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking bytes v1.10.0
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]    Compiling serde_json v1.0.138
[INFO] [stderr]     Checking winnow v0.7.1
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]     Checking indexmap v2.7.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]    Compiling sw8s_rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking ryu v1.0.19
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.27
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling opencv-binding-generator v0.95.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking adler2 v2.0.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]     Checking clap v4.5.28
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking xattr v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling derive-getters v0.4.0
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling nonzero v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking unescaper v0.1.5
[INFO] [stderr]     Checking serialport v4.7.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking mio-serial v5.0.6
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking is-terminal v0.4.15
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking tar v0.4.43
[INFO] [stderr]     Checking uuid v1.13.1
[INFO] [stderr]     Checking assert_approx_eq v1.1.0
[INFO] [stderr]    Compiling opencv v0.94.2
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-serial v5.4.5
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking toml_datetime v0.6.8
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking toml_edit v0.22.23
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking toml v0.8.20
[INFO] [stdout] error[E0432]: unresolved import `opencv::core::AlgorithmHint`
[INFO] [stdout]  --> src/vision/path.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{in_range, AlgorithmHint, Size, VecN, Vector},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |                      |
[INFO] [stdout]   |                      no `AlgorithmHint` in `opencv::hub::core`
[INFO] [stdout]   |                      help: a similar name exists in the module: `Algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `opencv::core::AlgorithmHint`
[INFO] [stdout]  --> src/vision/path.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{in_range, AlgorithmHint, Size, VecN, Vector},
[INFO] [stdout]   |                      ^^^^^^^^^^^^^
[INFO] [stdout]   |                      |
[INFO] [stdout]   |                      no `AlgorithmHint` in `opencv::hub::core`
[INFO] [stdout]   |                      help: a similar name exists in the module: `Algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unblocked_logging`
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:108:44
[INFO] [stdout]     |
[INFO] [stdout] 108 |         #[cfg(all(feature = "logging", not(feature = "unblocked_logging")))]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]     = help: consider adding `unblocked_logging` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, `path::PathBuf`, and `write`
[INFO] [stdout]  --> src/config/mod.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fs::{read_to_string, write},
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 6 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     path::PathBuf,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam::epoch::CompareAndSetOrdering`
[INFO] [stdout]   --> src/config/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam::epoch::CompareAndSetOrdering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::mod_prelude::ToInputArray`
[INFO] [stdout]  --> src/missions/action_context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use opencv::mod_prelude::ToInputArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ZeroMovement`
[INFO] [stdout]   --> src/missions/example.rs:16:60
[INFO] [stdout]    |
[INFO] [stdout] 16 |     movement::{Descend, Stability2Movement, Stability2Pos, ZeroMovement},
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionConcurrent`, `RaceAction`, `ToVec`, and `TupleSecond`
[INFO] [stdout]   --> src/missions/fancy_octagon.rs:9:26
[INFO] [stdout]    |
[INFO] [stdout] 9  |             ActionChain, ActionConcurrent, ActionDataConditional, ActionSequence, ActionWhile,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             RaceAction, TupleSecond,
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             Terminal, ToVec,
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 121 +     .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                          ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 145 +         .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vision::Angle2D`
[INFO] [stdout]  --> src/missions/movement.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::vision::Angle2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::core::Size`
[INFO] [stdout]  --> src/missions/octagon.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use opencv::core::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::Yuv`
[INFO] [stdout]   --> src/missions/octagon.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     vision::{octagon::Octagon, path::Yuv, Offset2D},
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `act_nest`
[INFO] [stdout]  --> src/missions/path_align.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{act_nest, missions::vision::VisionNormBottomAngle, vision::path_cv::PathCV};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::core::Size`
[INFO] [stdout]  --> src/video_source/appsink.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use opencv::core::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CAP_GSTREAMER`, `CAP_PROP_FPS`, `CAP_PROP_FRAME_HEIGHT`, `CAP_PROP_FRAME_WIDTH`, and `VideoWriter`
[INFO] [stdout]  --> src/video_source/appsink.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     VideoCapture, VideoWriter, CAP_GSTREAMER, CAP_PROP_FPS, CAP_PROP_FRAME_HEIGHT,
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     CAP_PROP_FRAME_WIDTH,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VideoCaptureTraitConst`
[INFO] [stdout]   --> src/video_source/appsink.rs:10:42
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opencv::videoio::{VideoCaptureTrait, VideoCaptureTraitConst, VideoWriterTrait};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync`
[INFO] [stdout]   --> src/video_source/appsink.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::logln`
[INFO] [stdout]   --> src/video_source/appsink.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::logln;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/vision/mod.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 |     core::{MatTraitConst, Point, Rect, Rect2d, Scalar, Vector},
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda_min_max_loc`
[INFO] [stdout]   --> src/vision/nn_cv2.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(feature = "cuda_min_max_loc")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]    = help: consider adding `cuda_min_max_loc` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/octagon.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::create_dir_all, ops::RangeInclusive};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Offset`
[INFO] [stdout]  --> src/vision/octagon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Offset;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BORDER_DEFAULT`, `COLOR_RGB2YUV`, `COLOR_YUV2RGB`, `CV_32F`, `MatTrait`, `Point2f`, `Point2i`, `Rect`, `Scalar`, `bounding_rect`, `contour_area`, `cvt_color`, `filter_2d`, `find_contours_def`, and `imgcodecs::imwrite`
[INFO] [stdout]   --> src/vision/octagon.rs:7:19
[INFO] [stdout]    |
[INFO] [stdout] 7  |         in_range, MatTrait, Point, Point2f, Point2i, Rect, Scalar, Size, VecN, Vector,
[INFO] [stdout]    |                   ^^^^^^^^         ^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 8  |         BORDER_DEFAULT, CV_32F,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 9  |     },
[INFO] [stdout] 10 |     imgcodecs::imwrite,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     imgproc::{
[INFO] [stdout] 12 |         bounding_rect, contour_area, cvt_color, filter_2d, find_contours, find_contours_def,
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         CHAIN_APPROX_SIMPLE, COLOR_RGB2YUV, COLOR_YUV2RGB, RETR_TREE,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/octagon.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `binary_pca` and `cvt_binary_to_points`
[INFO] [stdout]   --> src/vision/octagon.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::vision::image_prep::{binary_pca, cvt_binary_to_points};
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pca::PosVector`
[INFO] [stdout]   --> src/vision/octagon.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     image_prep::resize, pca::PosVector, MatWrapper, Offset2D, VisualDetection, VisualDetector,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/path.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::create_dir_all, ops::RangeInclusive};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vector` and `imgcodecs::imwrite`
[INFO] [stdout]  --> src/vision/path.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{in_range, AlgorithmHint, Size, VecN, Vector},
[INFO] [stdout]   |                                                 ^^^^^^
[INFO] [stdout] 6 |     imgcodecs::imwrite,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/path.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/path_cv.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     fs::create_dir_all,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/path_cv.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `COLOR_YUV2BGR`, `box_points`, `circle`, and `imgcodecs::imwrite`
[INFO] [stdout]   --> src/vision/path_cv.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     imgcodecs::imwrite,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     imgproc::{
[INFO] [stdout] 12 |         self, box_points, circle, contour_area_def, cvt_color_def, find_contours_def,
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 13 |         min_area_rect, CHAIN_APPROX_SIMPLE, COLOR_BGR2YUV, COLOR_YUV2BGR, LINE_8, RETR_EXTERNAL,
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/path_cv.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `binary_pca` and `cvt_binary_to_points`
[INFO] [stdout]   --> src/vision/path_cv.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::vision::image_prep::{binary_pca, cvt_binary_to_points};
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Offset2D`
[INFO] [stdout]   --> src/vision/path_cv.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::vision::{Angle2D, Draw, Offset2D, RelPosAngle};
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kmeans`
[INFO] [stdout]   --> src/vision/path_cv.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     image_prep::{kmeans, resize},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]  --> src/vision/pca.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::anyhow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Num`
[INFO] [stdout]  --> src/vision/pca.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::Num;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `crossbeam::crossbeam_epoch::CompareAndSetOrdering`: `compare_and_set` and `compare_and_set_weak` that use this trait are deprecated, use `compare_exchange` or `compare_exchange_weak instead`
[INFO] [stdout]   --> src/config/mod.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam::epoch::CompareAndSetOrdering;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `unblocked_logging`
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:108:44
[INFO] [stdout]     |
[INFO] [stdout] 108 |         #[cfg(all(feature = "logging", not(feature = "unblocked_logging")))]
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]     = help: consider adding `unblocked_logging` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut`, `Deref`, `path::PathBuf`, and `write`
[INFO] [stdout]  --> src/config/mod.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fs::{read_to_string, write},
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 6 |     ops::{Deref, DerefMut},
[INFO] [stdout]   |           ^^^^^  ^^^^^^^^
[INFO] [stdout] 7 |     path::PathBuf,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossbeam::epoch::CompareAndSetOrdering`
[INFO] [stdout]   --> src/config/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam::epoch::CompareAndSetOrdering;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::mod_prelude::ToInputArray`
[INFO] [stdout]  --> src/missions/action_context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use opencv::mod_prelude::ToInputArray;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ZeroMovement`
[INFO] [stdout]   --> src/missions/example.rs:16:60
[INFO] [stdout]    |
[INFO] [stdout] 16 |     movement::{Descend, Stability2Movement, Stability2Pos, ZeroMovement},
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionConcurrent`, `RaceAction`, `ToVec`, and `TupleSecond`
[INFO] [stdout]   --> src/missions/fancy_octagon.rs:9:26
[INFO] [stdout]    |
[INFO] [stdout] 9  |             ActionChain, ActionConcurrent, ActionDataConditional, ActionSequence, ActionWhile,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |             RaceAction, TupleSecond,
[INFO] [stdout]    |             ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |             Terminal, ToVec,
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:121:38
[INFO] [stdout]     |
[INFO] [stdout] 121 |     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -     .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 121 +     .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/missions/graph.rs:145:42
[INFO] [stdout]     |
[INFO] [stdout] 145 |         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout]     |                                          ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 145 -         .fold(String::new(), |acc, line| (acc + &line + "\n"))
[INFO] [stdout] 145 +         .fold(String::new(), |acc, line| acc + &line + "\n")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vision::Angle2D`
[INFO] [stdout]  --> src/missions/movement.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::vision::Angle2D;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::core::Size`
[INFO] [stdout]  --> src/missions/octagon.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use opencv::core::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `path::Yuv`
[INFO] [stdout]   --> src/missions/octagon.rs:23:32
[INFO] [stdout]    |
[INFO] [stdout] 23 |     vision::{octagon::Octagon, path::Yuv, Offset2D},
[INFO] [stdout]    |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `act_nest`
[INFO] [stdout]  --> src/missions/path_align.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{act_nest, missions::vision::VisionNormBottomAngle, vision::path_cv::PathCV};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opencv::core::Size`
[INFO] [stdout]  --> src/video_source/appsink.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use opencv::core::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CAP_GSTREAMER`, `CAP_PROP_FPS`, `CAP_PROP_FRAME_HEIGHT`, `CAP_PROP_FRAME_WIDTH`, and `VideoWriter`
[INFO] [stdout]  --> src/video_source/appsink.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 |     VideoCapture, VideoWriter, CAP_GSTREAMER, CAP_PROP_FPS, CAP_PROP_FRAME_HEIGHT,
[INFO] [stdout]   |                   ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     CAP_PROP_FRAME_WIDTH,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VideoCaptureTraitConst`
[INFO] [stdout]   --> src/video_source/appsink.rs:10:42
[INFO] [stdout]    |
[INFO] [stdout] 10 | use opencv::videoio::{VideoCaptureTrait, VideoCaptureTraitConst, VideoWriterTrait};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync`
[INFO] [stdout]   --> src/video_source/appsink.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rect`
[INFO] [stdout]  --> src/vision/mod.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 |     core::{MatTraitConst, Point, Rect, Rect2d, Scalar, Vector},
[INFO] [stdout]   |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cuda_min_max_loc`
[INFO] [stdout]   --> src/vision/nn_cv2.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(feature = "cuda_min_max_loc")]
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `annotated_streams`, `cuda`, `cuda_f16`, `default`, `graphing`, `logging`, `networked_testing`, and `reqwest`
[INFO] [stdout]    = help: consider adding `cuda_min_max_loc` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/octagon.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::create_dir_all, ops::RangeInclusive};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Offset`
[INFO] [stdout]  --> src/vision/octagon.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Offset;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BORDER_DEFAULT`, `COLOR_RGB2YUV`, `COLOR_YUV2RGB`, `CV_32F`, `MatTrait`, `Point2f`, `Point2i`, `Rect`, `Scalar`, `bounding_rect`, `contour_area`, `cvt_color`, `filter_2d`, `find_contours_def`, and `imgcodecs::imwrite`
[INFO] [stdout]   --> src/vision/octagon.rs:7:19
[INFO] [stdout]    |
[INFO] [stdout] 7  |         in_range, MatTrait, Point, Point2f, Point2i, Rect, Scalar, Size, VecN, Vector,
[INFO] [stdout]    |                   ^^^^^^^^         ^^^^^^^  ^^^^^^^  ^^^^  ^^^^^^
[INFO] [stdout] 8  |         BORDER_DEFAULT, CV_32F,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 9  |     },
[INFO] [stdout] 10 |     imgcodecs::imwrite,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     imgproc::{
[INFO] [stdout] 12 |         bounding_rect, contour_area, cvt_color, filter_2d, find_contours, find_contours_def,
[INFO] [stdout]    |         ^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |         CHAIN_APPROX_SIMPLE, COLOR_RGB2YUV, COLOR_YUV2RGB, RETR_TREE,
[INFO] [stdout]    |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/octagon.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `binary_pca` and `cvt_binary_to_points`
[INFO] [stdout]   --> src/vision/octagon.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::vision::image_prep::{binary_pca, cvt_binary_to_points};
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pca::PosVector`
[INFO] [stdout]   --> src/vision/octagon.rs:22:25
[INFO] [stdout]    |
[INFO] [stdout] 22 |     image_prep::resize, pca::PosVector, MatWrapper, Offset2D, VisualDetection, VisualDetector,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/path.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::create_dir_all, ops::RangeInclusive};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vector` and `imgcodecs::imwrite`
[INFO] [stdout]  --> src/vision/path.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{in_range, AlgorithmHint, Size, VecN, Vector},
[INFO] [stdout]   |                                                 ^^^^^^
[INFO] [stdout] 6 |     imgcodecs::imwrite,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/path.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::create_dir_all`
[INFO] [stdout]  --> src/vision/path_cv.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     fs::create_dir_all,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/path_cv.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `COLOR_YUV2BGR`, `box_points`, `circle`, and `imgcodecs::imwrite`
[INFO] [stdout]   --> src/vision/path_cv.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     imgcodecs::imwrite,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     imgproc::{
[INFO] [stdout] 12 |         self, box_points, circle, contour_area_def, cvt_color_def, find_contours_def,
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 13 |         min_area_rect, CHAIN_APPROX_SIMPLE, COLOR_BGR2YUV, COLOR_YUV2BGR, LINE_8, RETR_EXTERNAL,
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/vision/path_cv.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `binary_pca` and `cvt_binary_to_points`
[INFO] [stdout]   --> src/vision/path_cv.rs:19:33
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::vision::image_prep::{binary_pca, cvt_binary_to_points};
[INFO] [stdout]    |                                 ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Offset2D`
[INFO] [stdout]   --> src/vision/path_cv.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::vision::{Angle2D, Draw, Offset2D, RelPosAngle};
[INFO] [stdout]    |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `kmeans`
[INFO] [stdout]   --> src/vision/path_cv.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 |     image_prep::{kmeans, resize},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::anyhow`
[INFO] [stdout]  --> src/vision/pca.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::anyhow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_traits::Num`
[INFO] [stdout]  --> src/vision/pca.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::Num;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `crossbeam::crossbeam_epoch::CompareAndSetOrdering`: `compare_and_set` and `compare_and_set_weak` that use this trait are deprecated, use `compare_exchange` or `compare_exchange_weak instead`
[INFO] [stdout]   --> src/config/mod.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crossbeam::epoch::CompareAndSetOrdering;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/missions/path_align.rs:86:24
[INFO] [stdout]    |
[INFO] [stdout] 86 |             if let Err(e) = cb
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/missions/path_align.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let detections = vision_norm_bottom.execute().await.unwrap_or_else(|e| {
[INFO] [stdout]    |                                                                                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/missions/path_align.rs:86:24
[INFO] [stdout]    |
[INFO] [stdout] 86 |             if let Err(e) = cb
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/missions/path_align.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let detections = vision_norm_bottom.execute().await.unwrap_or_else(|e| {
[INFO] [stdout]    |                                                                                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 197 |             vec![vec![]]
[INFO] [stdout]     |                  ^^^^^^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `output` on type `&Camera`
[INFO] [stdout]    --> src/video_source/appsink.rs:125:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let writer = self.output.clone();
[INFO] [stdout]     |                           ^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available field is: `frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/comms/auv_control_board/response.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 | /         assert_eq!(
[INFO] [stdout] 186 | |             stream::iter(
[INFO] [stdout] 187 | |                 get_messages(
[INFO] [stdout] 188 | |                     &mut buffer,
[INFO] [stdout] ...   |
[INFO] [stdout] 197 | |             vec![vec![]]
[INFO] [stdout] 198 | |         );
[INFO] [stdout]     | |_________^ cannot infer type
[INFO] [stdout]     |
[INFO] [stdout]     = note: multiple `impl`s satisfying `u8: PartialEq<_>` found in the following crates: `core`, `serde_json`:
[INFO] [stdout]             - impl PartialEq for u8;
[INFO] [stdout]             - impl PartialEq<serde_json::Value> for u8;
[INFO] [stdout]     = note: required for `Vec<u8>` to implement `PartialEq<Vec<_>>`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Vec<Vec<u8>>` to implement `PartialEq<Vec<Vec<_>>>`
[INFO] [stdout]     = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:125:9
[INFO] [stdout]      |
[INFO] [stdout] 125  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 129  -             0,
[INFO] [stdout] 130  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 129  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:136:9
[INFO] [stdout]      |
[INFO] [stdout] 136  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 140  -             0,
[INFO] [stdout] 141  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 140  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:236:9
[INFO] [stdout]      |
[INFO] [stdout] 236  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 240  -             0,
[INFO] [stdout] 241  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 240  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:247:9
[INFO] [stdout]      |
[INFO] [stdout] 247  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 251  -             0,
[INFO] [stdout] 252  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 251  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/nn_cv2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vision::nn_cv2::VisionModel`
[INFO] [stdout]   --> src/missions/vision.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vision::nn_cv2::VisionModel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MatTraitConstManual`
[INFO] [stdout]   --> src/vision/octagon.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     prelude::{Mat, MatTraitConst, MatTraitConstManual},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/octagon.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MatTraitConstManual`
[INFO] [stdout]  --> src/vision/nn_cv2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{MatTraitConstManual, Rect2d, Scalar, Size, VecN, Vector, CV_32F},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `drift_val_inner`
[INFO] [stdout]   --> src/comms/control_board/mod.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut drift_val_inner = drift_val_clone.lock().unwrap();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drift_val_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comms/control_board/mod.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut drift_val_inner = drift_val_clone.lock().unwrap();
[INFO] [stdout]    |                         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> src/missions/movement.rs:2499:26
[INFO] [stdout]      |
[INFO] [stdout] 2499 |     fn modify(&mut self, input: &T) {}
[INFO] [stdout]      |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/vision/path_cv.rs:255:25
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/vision/path_cv.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 let width = rect.size.width;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/vision/path_cv.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 let height = rect.size.height;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vision/path_cv.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/vision/path_cv.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/vision/path_cv.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 let width = rect.size.width;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/vision/path_cv.rs:369:21
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 let height = rect.size.height;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vision/path_cv.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `output` on type `&appsink::Camera`
[INFO] [stdout]    --> src/video_source/appsink.rs:125:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let writer = self.output.clone();
[INFO] [stdout]     |                           ^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available field is: `frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sw8s_rust` (lib) due to 6 previous errors; 56 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:125:9
[INFO] [stdout]      |
[INFO] [stdout] 125  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 129  -             0,
[INFO] [stdout] 130  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 129  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:136:9
[INFO] [stdout]      |
[INFO] [stdout] 136  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 140  -             0,
[INFO] [stdout] 141  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 140  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:236:9
[INFO] [stdout]      |
[INFO] [stdout] 236  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 240  -             0,
[INFO] [stdout] 241  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 240  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]     --> src/vision/path.rs:247:9
[INFO] [stdout]      |
[INFO] [stdout] 247  |         cvt_color(
[INFO] [stdout]      |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252  |             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout]      |             -------------------------------- unexpected argument #5
[INFO] [stdout]      |
[INFO] [stdout] note: function defined here
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/opencv-8d7ce636c5c2bd30/out/opencv/imgproc.rs:5889:9
[INFO] [stdout]      |
[INFO] [stdout] 5889 |     pub fn cvt_color(src: &impl ToInputArray, dst: &mut impl ToOutputArray, code: i32, dst_cn: i32) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]      |
[INFO] [stdout] 251  -             0,
[INFO] [stdout] 252  -             AlgorithmHint::ALGO_HINT_DEFAULT,
[INFO] [stdout] 251  +             0,
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MatTraitConstManual`
[INFO] [stdout]  --> src/vision/nn_cv2.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     core::{MatTraitConstManual, Rect2d, Scalar, Size, VecN, Vector, CV_32F},
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/nn_cv2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vision::nn_cv2::VisionModel`
[INFO] [stdout]   --> src/missions/vision.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::vision::nn_cv2::VisionModel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MatTraitConstManual`
[INFO] [stdout]   --> src/vision/octagon.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     prelude::{Mat, MatTraitConst, MatTraitConstManual},
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]  --> src/vision/octagon.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use itertools::Itertools;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `drift_val_inner`
[INFO] [stdout]   --> src/comms/control_board/mod.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut drift_val_inner = drift_val_clone.lock().unwrap();
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drift_val_inner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/comms/control_board/mod.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |                     let mut drift_val_inner = drift_val_clone.lock().unwrap();
[INFO] [stdout]    |                         ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> src/missions/movement.rs:2499:26
[INFO] [stdout]      |
[INFO] [stdout] 2499 |     fn modify(&mut self, input: &T) {}
[INFO] [stdout]      |                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/vision/path_cv.rs:255:25
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/vision/path_cv.rs:256:21
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 let width = rect.size.width;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/vision/path_cv.rs:257:21
[INFO] [stdout]     |
[INFO] [stdout] 257 |                 let height = rect.size.height;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vision/path_cv.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/vision/path_cv.rs:367:25
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/vision/path_cv.rs:368:21
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 let width = rect.size.width;
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/vision/path_cv.rs:369:21
[INFO] [stdout]     |
[INFO] [stdout] 369 |                 let height = rect.size.height;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/vision/path_cv.rs:367:21
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 let mut angle = rect.angle as f64;
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0282, E0283, E0432, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `sw8s_rust` (lib test) due to 8 previous errors; 55 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0c9463963cd2abc9644d36fa6be131b7937b6eb41794c75bd98a79bcaf172df8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c9463963cd2abc9644d36fa6be131b7937b6eb41794c75bd98a79bcaf172df8", kill_on_drop: false }`
[INFO] [stdout] 0c9463963cd2abc9644d36fa6be131b7937b6eb41794c75bd98a79bcaf172df8
